/*
*  Copyright 2019-2025 Zheng Jie
*
*  Licensed under the Apache License, Version 2.0 (the "License");
*  you may not use this file except in compliance with the License.
*  You may obtain a copy of the License at
*
*  http://www.apache.org/licenses/LICENSE-2.0
*
*  Unless required by applicable law or agreed to in writing, software
*  distributed under the License is distributed on an "AS IS" BASIS,
*  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
*  See the License for the specific language governing permissions and
*  limitations under the License.
*/
package me.zhengjie.modules.finance.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data;
import cn.hutool.core.bean.BeanUtil;
import io.swagger.annotations.ApiModelProperty;
import cn.hutool.core.bean.copier.CopyOptions;
import java.math.BigDecimal;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

/**
* @description /
* @author lzw
* @date 2025-05-26
**/
@Data
@TableName("finance_ad01")
public class FinanceAd01 implements Serializable {

    @NotNull
    @ApiModelProperty(value = "单据ID")
    private BigDecimal baz244;

    @NotBlank
    @ApiModelProperty(value = "险种类型")
    private String aae140;

    @NotNull
    @ApiModelProperty(value = "费款所属期")
    private BigDecimal aae002;

    @ApiModelProperty(value = "征集有效期")
    private BigDecimal aae805;

    @NotBlank
    @ApiModelProperty(value = "收支类型")
    private String aaa039;

    @NotBlank
    @ApiModelProperty(value = "业务处理类别")
    private String aae710;

    @ApiModelProperty(value = "本地业务处理类别")
    private String bae710;

    @NotNull
    @ApiModelProperty(value = "收支金额")
    private BigDecimal aae719;

    @ApiModelProperty(value = "业务批次号")
    private String aaz617;

    @ApiModelProperty(value = "业务支付批次号")
    private BigDecimal aaz654;

    @ApiModelProperty(value = "批量支付流水号")
    private String aaz618;

    @NotBlank
    @ApiModelProperty(value = "单据号")
    private String aae072;

    @NotBlank
    @ApiModelProperty(value = "数据源表")
    private String bae038;

    @ApiModelProperty(value = "当事人类别")
    private String aaa028;

    @ApiModelProperty(value = "当事人 ID")
    private BigDecimal aaz010;

    @ApiModelProperty(value = "当事人名称")
    private String aae734;

    @ApiModelProperty(value = "单位编号")
    private BigDecimal aab001;

    @ApiModelProperty(value = "单位名称")
    private String aab004;

    @ApiModelProperty(value = "单位类型")
    private String aab019;

    @ApiModelProperty(value = "法定代表人证件类型")
    private String aac058;

    @ApiModelProperty(value = "法定代表人证件号码")
    private String aac147;

    @NotBlank
    @ApiModelProperty(value = "基金收支方式")
    private String aae718;

    @ApiModelProperty(value = "银行行别代码")
    private String aaf200;

    @ApiModelProperty(value = "地方银行行别代码")
    private String aaf216;

    @ApiModelProperty(value = "地方银行名称")
    private String aaf217;

    @ApiModelProperty(value = "银行名称")
    private String aae668;

    @ApiModelProperty(value = "银行户名")
    private String aae009;

    @ApiModelProperty(value = "银行账号")
    private String aae010;

    @ApiModelProperty(value = "银行所在省份")
    private String aab362;

    @ApiModelProperty(value = "银行所在市")
    private String aaf056;

    @ApiModelProperty(value = "人行支付系统行号")
    private String aaf002;

    @ApiModelProperty(value = "摘要")
    private String aad128;

    @NotBlank
    @ApiModelProperty(value = "数据接收状态")
    private String aae711;

    @ApiModelProperty(value = "锁定标志")
    private String aae825;

    @ApiModelProperty(value = "财务处理标志")
    private String bad006;

    @ApiModelProperty(value = "到账成功标志")
    private String aae456;

    @ApiModelProperty(value = "到账日期")
    private BigDecimal aab191;

    @ApiModelProperty(value = "支付失败原因")
    private String aae713;

    @ApiModelProperty(value = "实收分配标志")
    private String aae151;

    @ApiModelProperty(value = "到账方式")
    private String aae770;

    @ApiModelProperty(value = "登账明细ID")
    private BigDecimal bad011;

    @ApiModelProperty(value = "对账流水号")
    private String aaz728;

    @ApiModelProperty(value = "原单据号")
    private String aaz749;

    @ApiModelProperty(value = "会计核算单位")
    private String aad146;

    @ApiModelProperty(value = "账套类别")
    private String aad080;

    @ApiModelProperty(value = "备注")
    private String aae013;

    @ApiModelProperty(value = "创建人")
    private String aae860;

    @ApiModelProperty(value = "创建时间")
    private BigDecimal aae859;

    @ApiModelProperty(value = "经办人")
    private String aae011;

    @ApiModelProperty(value = "经办人登录ID")
    private String aaz692;

    @ApiModelProperty(value = "经办时间")
    private BigDecimal aae036;

    @ApiModelProperty(value = "社会保险经办机构编号")
    private String aab034;

    @ApiModelProperty(value = "经办地行政区划代码")
    private String aab360;

    @ApiModelProperty(value = "参保地行政区划代码")
    private String aab359;

    @ApiModelProperty(value = "所属省份行政区划代码")
    private String aaf018;

    @ApiModelProperty(value = "统筹区编码")
    private String aaa027;

    @NotNull
    @ApiModelProperty(value = "业务日志ID")
    private BigDecimal aaz002;

    @ApiModelProperty(value = "批量业务单一日志ID")
    private BigDecimal aaz005;

    @ApiModelProperty(value = "分库键值")
    private String aaa431;

    @ApiModelProperty(value = "是否线下支付")
    private String bad112;

    @ApiModelProperty(value = "人社银行账号表ID")
    private BigDecimal aaz670;

    @ApiModelProperty(value = "待遇发放方式")
    private String aae145;

    @ApiModelProperty(value = "当事人邮政地址")
    private String aae006;

    @ApiModelProperty(value = "当事人邮政编码")
    private String aae007;

    @ApiModelProperty(value = "单据批次号")
    private String baz617;

    @TableField(exist = false)
    @ApiModelProperty(value = "查询类型")
    private String queryType;

    public void copy(FinanceAd01 source){
        BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true));
    }
}
